package com.test.netty.provider;

import com.test.netty.entity.URL;
import com.test.netty.factory.ProtocolFactory;
import com.test.netty.protocol.Protocol;
import com.test.netty.register.LocalRegister;
import com.test.netty.register.RemoteMapRegister;
import com.test.netty.service.HelloService;
import com.test.netty.service.impl.HelloServiceImpl;

public class Provider {
    public static void main(String[] args) {
        // 注册服务
        URL url = new URL("localhost", 8800);

        // 1. 这是启用 zk后，从zk中获取调用地址。 需要启动zk服务，本地集成zk客户端去访问zk服务
        // ZookeeperRegister.register(HelloService.class.getName(), url);

        // 2. 模拟从远程获取 服务调用地址 。 1,2 只需要一个就可以了
        RemoteMapRegister.register(HelloService.class.getName(), url);

        LocalRegister.register(HelloService.class.getName(), HelloServiceImpl.class);

        // 启动Tomcat
        Protocol protocol = ProtocolFactory.getProtocol();
        System.out.println(" ===========[Provider started!!]=============");
        protocol.start(url);

    }
}
